package design.p9_facade;

/**
 * @ClassName: Java
 * @description:
 * @author: zxf
 * @create: 2021-06-18 12:00
 **/
public class Computer {
    private CPU cpu;
    private Memory memory;

    public Computer(CPU cpu, Memory memory){
        this.cpu = cpu;
        this.memory = memory;
    }

    public void startup(){
        System.out.println("start the computer");
        cpu.startup();
        memory.startup();
        System.out.println("start the computer finished");
    }

    public void shutdown(){
        System.out.println("shutdown the computer");
        cpu.shutdown();
        memory.shutdown();
        System.out.println("shutdown the computer finished");
    }
}
/**
 * 外观模式是为了解决类与类之家的依赖关系的，像spring一样，可以将类和类之间的关系配置到配置文件中，
 * 而外观模式就是将他们的关系放在一个Facade类中，降低了类类之间的耦合度，该模式中没有涉及到接口。
 */
